package com.pe.pgn.clubpgn.service;

import java.util.List;
import java.util.Map;

import com.pe.pgn.clubpgn.domain.ClpbPromocionBono;
import com.pe.pgn.clubpgn.domain.ClpdRangoPromocion;
import com.pe.pgn.clubpgn.domain.ClprPromocionEstacion;
import com.pe.pgn.clubpgn.domain.beans.BNPromocionBono;
import com.pe.pgn.clubpgn.domain.beans.BNPromocionEstacion;

public interface PromocionBonoService {

	public List<ClpbPromocionBono> listarPromocionesBono(boolean addItemDefault);
	
	public List<ClpbPromocionBono> buscarPromocionesBono(String dePromoBono, 
	String iniVigencia, String finVigencia, String stPromoBono);

	public ClpbPromocionBono obtenerPromocionBono(Long idPromocionBono);

	public Map<String, Object> guardarPromocionBono(
			ClpbPromocionBono promocionBono);

	public Map<String,Object> eliminarPromocionBono(Long id);

	public boolean validarTraslapePromoBono(ClpbPromocionBono promocionBono);

	public boolean validarMontoMinimo(ClpbPromocionBono promocionBono);

	public boolean validarDuplicidadDesc(ClpbPromocionBono promocionBono);

	public List<ClpdRangoPromocion> listarRangoPromocion(Long idPromocionBono);
	
	public int eliminarRangos(Long idRangoPromocion);
	
	public Map<String, Object> guardarRangos(String idPromocionBono, String vaConsumoInicio, 
	String vaConsumoFin, String vaCantidad, String stEsRangoFinal);
	
	public Map<String, Object> validarRegistroRangoFinal(String idPromocionBono);

	public boolean verificarSiTieneRangos(Long id);

	public boolean validarNoUsanPromocionBono(Long id);

	public List<ClpbPromocionBono> listarPromocionesBonoVigentes(boolean addItemDefault);
	
	public Map<String, Object> verificarSiEsRangoIntermedio(String idRangoPromocion, String idPromocionBono);
	
	public int eliminarRangoEnAdelante(String idRangoPromocion, String idPromocionBono);
	
	public Map<String, Object> verificarPromocionEstaVigente(Long idPromocionBono);
	
	
	public BNPromocionBono obtenerBNPromocionBono(Long idPromocionBono);
	
	
	public List<BNPromocionEstacion> listadoPromocionBono(Long idPromocionBono);
	
	public Map<String, Object> guardarPromocionBonoEstacion(BNPromocionBono promocionBonoestacion);
	
	

}
